package com.system.boot.rbac.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.system.api.rbac.entity.po.SysMenu;
import com.system.api.rbac.entity.po.SysRoleMenuRelation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  
 * @author: lslands
 * @description:   
 * @version：v1.0
 * @date:    2024/6/24 23:05
 */
@Mapper
public interface RoleMenuRelationMapper extends BaseMapper<SysRoleMenuRelation> {

    /**
     * 根据角色查询菜单列表
     * @param menu 菜单参数
     * @param roles 角色列表
     * @return 菜单集
     */
    List<SysMenu> selectMenuListByRoles(@Param("menu") SysMenu menu,@Param("roles") List<String> roles);

    /**
     * 根据角色编码查询菜单Id集
     * @param roleId 角色ID
     * @return 菜单ID集
     */
    List<Long> selectMenusByRole(@Param("roleId") Long roleId);


    /**
     * 根据菜单ID批量删除(逻辑)
     * @param menuIds 菜单Id集
     * @param updatedBy 操作人
     * @return 成功/失败
     */
    boolean deleteMenuIdsByBatch(@Param("menuIds") List<Long> menuIds,@Param("updatedBy") Long updatedBy);
}
